package com.zsj.queue;

/**
 * @Author zsj
 * @Version 1.0
 * @Date 2024/3/23 16:56
 * @Description
 */
public interface Queue<E> {

    /**
     * 队尾插入
     */
    boolean offer(E value) throws InterruptedException;

    /**
     * 从队列头拿值
     * 并且移除
     */
    E poll();

    /**
     * 从队列头获取值 不移除
     */
    E peek();

    /**
     * 校验队列是否为空
     */
    boolean isEmpty();

    /**
     * 校验队列元素是否已满
     * @return 已满true  未满false
     */
    boolean isFull();
}
